﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Jian.Vubackup.MySql.Tool
{
    /// <summary>
    /// 日志类
    /// </summary>
    public interface ILog
    {
        /// <summary>
        /// 信息日志
        /// </summary>
        /// <param name="content">日志内容</param>
        void WriteInfo(string content);
        /// <summary>
        /// 调试日志
        /// </summary>
        /// <param name="content">日志内容</param>
        void WriteDebug(string content);
        /// <summary>
        /// 警告日志
        /// </summary>
        /// <param name="content">日志内容</param>
        void WriteWarning(string content);
        /// <summary>
        /// 错误日志
        /// </summary>
        /// <param name="content">日志内容</param>
        void WriteError(string content);
        /// <summary>
        /// 异常信息日志
        /// </summary>
        /// <param name="ex">错误信息</param>
        void WriteException(Exception ex);
        /// <summary>
        /// 只写日志内容，不附加任何信息
        /// </summary>
        /// <param name="content">日志内容</param>
        void WriteOnly(string content);

        /// <summary>
        /// 信息日志(且输出控制台)
        /// </summary>
        /// <param name="content">日志内容</param>
        void WriteInfoAndConsole(string content);
        /// <summary>
        /// 调试日志(且输出控制台)
        /// </summary>
        /// <param name="content">日志内容</param>
        void WriteDebugAndConsole(string content);
        /// <summary>
        /// 警告日志(且输出控制台)
        /// </summary>
        /// <param name="content">日志内容</param>
        void WriteWarningAndConsole(string content);
        /// <summary>
        /// 错误日志(且输出控制台)
        /// </summary>
        /// <param name="content">日志内容</param>
        void WriteErrorAndConsole(string content);
        /// <summary>
        /// 异常信息日志(且输出控制台)
        /// </summary>
        /// <param name="ex">错误信息</param>
        void WriteExceptionAndConsole(Exception ex);
        /// <summary>
        /// 只写日志内容，不附加任何信息(且输出控制台)
        /// </summary>
        /// <param name="content">日志内容</param>
        void WriteOnlyAndConsole(string content);
    }
}
